// Decompiled on 周六 2月 22 19:31:49 CST 2025 with Zomboid Decompiler v0.1.3 using Vineflower.
package zombie.config;

public abstract class ConfigOption {
    protected final String name;

    public ConfigOption(String _name) {
        if (_name != null && !_name.isEmpty() && !_name.contains("=")) {
            this.name = _name;
        } else {
            throw new IllegalArgumentException();
        }
    }

    public String getName() {
        return this.name;
    }

    public abstract String getType();

    public abstract void resetToDefault();

    public abstract void setDefaultToCurrentValue();

    public abstract void parse(String s);

    public abstract String getValueAsString();

    public String getValueAsLuaString() {
        return this.getValueAsString();
    }

    public abstract void setValueFromObject(Object o);

    public abstract Object getValueAsObject();

    public abstract boolean isValidString(String s);

    public abstract String getTooltip();
}
